#ifndef FRAME_TASK_QUEUE_H
#define FRAME_TASK_QUEUE_H

#include <stdio.h>
#include <stdlib.h>    // calloc, free
#include <string.h>    // memset
#include <unistd.h>    // close

typedef struct queue_node_s {
    int netfd;
    struct queue_node_s *next;
} queue_node_t;

typedef struct taskQueue_s {
    queue_node_t *front;
    queue_node_t *rear;
    int size;
} taskQueue_t;


int taskQueueInit(taskQueue_t *pTaskQueue);
void taskQueueFree(taskQueue_t *pTaskQueue);

int enQueue(taskQueue_t *pTaskQueue, int netfd);
int deQueue(taskQueue_t *pTaskQueue, int *pNetfd);


#endif